home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc™ Source Code / Core / Part.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-28  |  38.2 KB  |  1,117 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        Part.cpp
  3.  
  4.     Contains:    ODPart class implementation
  5.  
  6.     Owned by:    Joshua Susser
  7.  
  8.     Copyright:    © 1993 - 1996 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <2>      6/6/96    jpa        T10020: Initialize ODActionData structs to
  13.                                     avoid compiler warnings.
  14.         <31>    10/13/95    TÇ        1284461 GM: Parts that are created in a
  15.                                     document should not automatically be given
  16.                                     names
  17.         <30>     10/8/95    TJ        Fixes Recomended by Refball
  18.         <29>     9/18/95    CG        1285279 GM: kODPartNotWrapper should be
  19.                                     kODErrPartNotWrapper.
  20.         <28>      9/1/95    CC        1274788: InitPartName: Initialize to
  21.                                     category.
  22.                                     1273646: Override Externalize to remove
  23.                                     lingering data interchange properties.
  24.         <27>     8/12/95    TÇ        1276807 Opt./Bug: use StdTypIO routines for
  25.                                     portable streaming & smaller footprint
  26.         <26>      8/3/95    RR        #1257260: Collapse B classes. Remove
  27.                                     somInit methods. Don't call IsInitialized
  28.                                     or SubclassResponsibility
  29.         <25>     6/26/95    VL        1262622: Added InitPartName. This ensures
  30.                                     that every part has a name property.
  31.         <24>      6/1/95    JBS        1242639 Remove #define DR2_OPTIONS 1
  32.         <23>     5/26/95    DM        1251403: Multithreading naming support.
  33.         <22>     4/26/95    CG        1211082 BB: 5$ Bugs need to be evaluated
  34.                                     and removed from Core
  35.         <21>     4/16/95    VL        1230084: Use POUtils in Init,
  36.                                     InitFromStorage and CloneInto.
  37.         <20>     4/13/95    JBS        1233726 temp DR2_OPTIONS support for parts
  38.                                     which don't implement ClonePartInfo.
  39.         <19>      4/3/95    JBS        1234218 optional protocols now return
  40.                                     errors instead of SubclassResponsibility
  41.         <18>     3/28/95    JBS        1229656 add EditInLinkAttempted; 1226398
  42.                                     add ClonePartInfo
  43.         <17>      3/7/95    CC        1224121: CreateLink() returns an
  44.                                     ODLinkSource object.
  45.         <16>     1/26/95    eeh        1213354: ODActionData now an ODByteArray.
  46.         <15>     1/22/95    NP        EmbeddedFrameSpec signature changed because
  47.                                     of change to AE types.
  48.         <14>     1/20/95    JBS        1195017, 1205669: part API changes
  49.         <13>     1/13/95    RR        1192147, 1201708 Removed implementations of
  50.                                     HandleEventInEmbedded, MouseEnter,
  51.                                     MouseWithin and MouseLeave. Moved
  52.                                     functionality to HandleEvent
  53.         <12>    12/23/94    JBS        1186869: hide ODPartWrapper from public
  54.                                     API; 1192557: ODPartWrapper realPart access
  55.         <11>    12/15/94    CC        1197221 CreateLink() takes ODByteArray
  56.                                     parameter.
  57.                                     1205684 LinkUdated parameter renamed to
  58.                                     "change" from "id".
  59.         <10>      9/1/94    CC        RADAR #1183005 - change AdjustBorderShape
  60.                                     param from Frame to Facet (for JBS)
  61.          <9>     8/26/94    VL        1183174: Removed CloneInto.
  62.          <8>     8/18/94    jpa        Fixed warnings by adding return values
  63.                                     [1181839]
  64.          <7>     8/16/94    VL        1143605: Fixed parameters to CloneInto.
  65.          <6>     8/13/94    TÇ        #1180814 Added support for ODPartWrapper
  66.                                     API
  67.          <5>      8/9/94    VL        1179857: DragEnter and DragWithin return
  68.                                     ODBoolean.
  69.          <4>      8/5/94    JBS        #1179151 Part API cleanup
  70.          <3>     7/12/94    VL        Added SubClassResponsibility.
  71.          <2>     6/28/94    CG        Synched API with a7.
  72.          <1>     6/24/94    CG        first checked in
  73.     To Do:
  74.     In Progress:
  75.         
  76. */
  77.  
  78. #define ODPart_Class_Source
  79. #include <Part.xih>
  80.  
  81. #ifndef _EXCEPT_
  82. #include "Except.h"
  83. #endif
  84.  
  85. #ifndef _POUTILS_
  86. #include <POUtils.h>
  87. #endif
  88.  
  89. #ifndef _INFOUTIL_
  90. #include "InfoUtil.h"
  91. #endif
  92.  
  93. #ifndef _STORUTIL_
  94. #include <StorUtil.h>
  95. #endif
  96.  
  97. #ifndef _STDTYPIO_
  98. #include <StdTypIO.h>
  99. #endif
  100.  
  101. #ifndef _ITEXT_
  102. #include <IText.h>
  103. #endif
  104.  
  105. #ifndef _TEMPOBJ_
  106. #include <TempObj.h>
  107. #endif
  108.  
  109. #ifndef SOM_Module_OpenDoc_StdProps_defined
  110. #include <StdProps.xh>
  111. #endif
  112.  
  113. #ifndef SOM_Module_OpenDoc_StdTypes_defined
  114. #include <StdTypes.xh>
  115. #endif
  116.  
  117. //==============================================================================
  118. // Function Prototype
  119. //==============================================================================
  120.  
  121. void InitPartName(Environment* ev, ODStorageUnit* su);
  122.  
  123. //==============================================================================
  124. // ODPart
  125. //==============================================================================
  126.  
  127. //------------------------------------------------------------------------------
  128. // ODPart: somUninit
  129. //------------------------------------------------------------------------------
  130.  
  131. SOM_Scope void SOMLINK ODPartsomUninit(ODPart *somSelf)
  132. {
  133.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  134.     ODPartMethodDebug("ODPart","somUninit");
  135.  
  136.     ODPart_parent_ODPersistentObject_somUninit(somSelf);
  137. }
  138. //------------------------------------------------------------------------------
  139. // ODPart: InitPart
  140. //------------------------------------------------------------------------------
  141.  
  142. SOM_Scope void SOMLINK ODPartInitPart(ODPart *somSelf, Environment *ev,
  143.         ODStorageUnit* storageUnit, ODPart* partWrapper)
  144. {
  145.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  146.     ODPartMethodDebug("ODPart","InitPart");
  147.     
  148.     SOM_TRY
  149.  
  150.     somSelf->InitPersistentObject(ev, storageUnit);
  151.     InitModificationInfo(ev, storageUnit);
  152.     InitPartName(ev, storageUnit);
  153.     
  154.     SOM_CATCH_ALL
  155.     SOM_ENDTRY
  156. }
  157.  
  158. //------------------------------------------------------------------------------
  159. // ODPart: InitPartFromStorage
  160. //------------------------------------------------------------------------------
  161.  
  162. SOM_Scope void SOMLINK ODPartInitPartFromStorage(ODPart *somSelf, Environment *ev,
  163.         ODStorageUnit* storageUnit, ODPart* partWrapper)
  164. {
  165.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  166.     ODPartMethodDebug("ODPart","InitPartFromStorage");
  167.     
  168.     SOM_TRY
  169.  
  170.     somSelf->InitPersistentObjectFromStorage(ev, storageUnit);
  171.  
  172.     InitModificationInfo(ev, storageUnit);
  173.     InitPartName(ev, storageUnit);
  174.     
  175.     SOM_CATCH_ALL
  176.     SOM_ENDTRY
  177. }
  178.  
  179. //------------------------------------------------------------------------------
  180. // ODPart: CloneInto
  181. //------------------------------------------------------------------------------
  182.  
  183. SOM_Scope void SOMLINK ODPartCloneInto(ODPart *somSelf, Environment *ev,
  184.         ODDraftKey key,
  185.         ODStorageUnit* toSU,
  186.         ODFrame* scopeFrame)
  187. {
  188.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  189.     ODPartMethodDebug("ODPart","CloneInto");
  190.     
  191.     SOM_TRY
  192.  
  193.     parent_CloneInto(somSelf, ev, key, toSU, scopeFrame);
  194.     CloneModificationInfo(ev, somSelf->GetStorageUnit(ev), toSU);
  195.     
  196.     SOM_CATCH_ALL
  197.     SOM_ENDTRY
  198. }
  199.  
  200. //------------------------------------------------------------------------------
  201. // ODPart: Externalize
  202. //------------------------------------------------------------------------------
  203.  
  204. SOM_Scope void     SOMLINK ODPartExternalize(ODPart *somSelf, Environment *ev)
  205. {
  206.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  207.     ODPartMethodDebug("ODPart","Externalize");
  208.     
  209.     SOM_TRY
  210.  
  211.     parent_Externalize(somSelf, ev);
  212.  
  213.     // Remove data interchange properties that may have been left
  214.     // when this part was dragged to the Finder
  215.     RemoveDataInterchangeProperties(ev, somSelf->GetStorageUnit(ev), kODFalse);
  216.     
  217.     SOM_CATCH_ALL
  218.     SOM_ENDTRY
  219. }
  220.  
  221. //------------------------------------------------------------------------------
  222. // ODPart: DisplayFrameAdded
  223. //------------------------------------------------------------------------------
  224.  
  225. SOM_Scope void SOMLINK ODPartDisplayFrameAdded(ODPart *somSelf, Environment *ev,
  226.         ODFrame* frame)
  227. {
  228.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  229.     ODPartMethodDebug("ODPart","DisplayFrameAdded");
  230.  
  231.     WARN("A subclass should have overridden this method!");
  232.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  233. }
  234.  
  235. //------------------------------------------------------------------------------
  236. // ODPart: DisplayFrameRemoved
  237. //------------------------------------------------------------------------------
  238.  
  239. SOM_Scope void SOMLINK ODPartDisplayFrameRemoved(ODPart *somSelf, Environment *ev,
  240.         ODFrame* frame)
  241. {
  242.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  243.     ODPartMethodDebug("ODPart","DisplayFrameRemoved");
  244.  
  245.     WARN("A subclass should have overridden this method!");
  246.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  247. }
  248.  
  249. //------------------------------------------------------------------------------
  250. // ODPart: DisplayFrameConnected
  251. //------------------------------------------------------------------------------
  252.  
  253. SOM_Scope void SOMLINK ODPartDisplayFrameConnected(ODPart *somSelf, Environment *ev,
  254.         ODFrame* frame)
  255. {
  256.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  257.     ODPartMethodDebug("ODPart","DisplayFrameConnected");
  258.  
  259.     WARN("A subclass should have overridden this method!");
  260.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  261. }
  262.  
  263. //------------------------------------------------------------------------------
  264. // ODPart: DisplayFrameClosed
  265. //------------------------------------------------------------------------------
  266.  
  267. SOM_Scope void SOMLINK ODPartDisplayFrameClosed(ODPart *somSelf, Environment *ev,
  268.         ODFrame* frame)
  269. {
  270.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  271.     ODPartMethodDebug("ODPart","DisplayFrameClosed");
  272.  
  273.     WARN("A subclass should have overridden this method!");
  274.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  275. }
  276.  
  277. //------------------------------------------------------------------------------
  278. // ODPart: AttachSourceFrame
  279. //------------------------------------------------------------------------------
  280.  
  281. SOM_Scope void SOMLINK ODPartAttachSourceFrame(ODPart *somSelf, Environment *ev,
  282.         ODFrame* frame,
  283.         ODFrame* sourceFrame)
  284. {
  285.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  286.     ODPartMethodDebug("ODPart","AttachSourceFrame");
  287.  
  288.     WARN("A subclass should have overridden this method!");
  289.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  290. }
  291.  
  292. //------------------------------------------------------------------------------
  293. // ODPart: FrameShapeChanged
  294. //------------------------------------------------------------------------------
  295.  
  296. SOM_Scope void SOMLINK ODPartFrameShapeChanged(ODPart *somSelf, Environment *ev,
  297.         ODFrame* frame)
  298. {
  299.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  300.     ODPartMethodDebug("ODPart","FrameShapeChanged");
  301.  
  302.     WARN("A subclass should have overridden this method!");
  303.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  304. }
  305.  
  306. //------------------------------------------------------------------------------
  307. // ODPart: ViewTypeChanged
  308. //------------------------------------------------------------------------------
  309.  
  310. SOM_Scope void SOMLINK ODPartViewTypeChanged(ODPart *somSelf, Environment *ev,
  311.         ODFrame* frame)
  312. {
  313.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  314.     ODPartMethodDebug("ODPart","ViewTypeChanged");
  315.  
  316.     WARN("A subclass should have overridden this method!");
  317.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  318. }
  319.  
  320. //------------------------------------------------------------------------------
  321. // ODPart: PresentationChanged
  322. //------------------------------------------------------------------------------
  323.  
  324. SOM_Scope void SOMLINK ODPartPresentationChanged(ODPart *somSelf, Environment *ev,
  325.         ODFrame* frame)
  326. {
  327.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  328.     ODPartMethodDebug("ODPart","PresentationChanged");
  329.  
  330.     WARN("A subclass should have overridden this method!");
  331.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  332. }
  333.  
  334. //------------------------------------------------------------------------------
  335. // ODPart: SequenceChanged
  336. //------------------------------------------------------------------------------
  337.  
  338. SOM_Scope void SOMLINK ODPartSequenceChanged(ODPart *somSelf, Environment *ev,
  339.         ODFrame* frame)
  340. {
  341.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  342.     ODPartMethodDebug("ODPart","SequenceChanged");
  343.  
  344.     WARN("A subclass should have overridden this method!");
  345.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  346. }
  347.  
  348. //------------------------------------------------------------------------------
  349. // ODPart: LinkStatusChanged
  350. //------------------------------------------------------------------------------
  351.  
  352. SOM_Scope void SOMLINK ODPartLinkStatusChanged(ODPart *somSelf, Environment *ev,
  353.         ODFrame* frame)
  354. {
  355.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  356.     ODPartMethodDebug("ODPart","LinkStatusChanged");
  357.  
  358.     WARN("A subclass should have overridden this method!");
  359.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  360. }
  361.  
  362. //------------------------------------------------------------------------------
  363. // ODPart: ContainingPartPropertiesUpdated
  364. //------------------------------------------------------------------------------
  365.  
  366. SOM_Scope void SOMLINK ODPartContainingPartPropertiesUpdated(ODPart *somSelf, Environment *ev,
  367.         ODFrame* frame,
  368.         ODStorageUnit* propertyUnit)
  369. {
  370.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  371.     ODPartMethodDebug("ODPart","ContainingPartPropertiesUpdated");
  372.  
  373.     WARN("A subclass should have overridden this method!");
  374.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  375. }
  376.  
  377. //------------------------------------------------------------------------------
  378. // ODPart: ReadPartInfo
  379. //------------------------------------------------------------------------------
  380.  
  381. SOM_Scope ODInfoType SOMLINK ODPartReadPartInfo(ODPart *somSelf, Environment *ev,
  382.         ODFrame* frame,
  383.         ODStorageUnitView* storageUnitView)
  384. {
  385.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  386.     ODPartMethodDebug("ODPart","ReadPartInfo");
  387.  
  388.     WARN("A subclass should have overridden this method!");
  389.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  390.     return kODNULL;
  391. }
  392.  
  393. //------------------------------------------------------------------------------
  394. // ODPart: WritePartInfo
  395. //------------------------------------------------------------------------------
  396.  
  397. SOM_Scope void SOMLINK ODPartWritePartInfo(ODPart *somSelf, Environment *ev,
  398.         ODInfoType partInfo,
  399.         ODStorageUnitView* storageUnitView)
  400. {
  401.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  402.     ODPartMethodDebug("ODPart","WritePartInfo");
  403.  
  404.     WARN("A subclass should have overridden this method!");
  405.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  406. }
  407.  
  408. //------------------------------------------------------------------------------
  409. // ODPart: ClonePartInfo
  410. //------------------------------------------------------------------------------
  411.  
  412. SOM_Scope void SOMLINK ODPartClonePartInfo(ODPart *somSelf, Environment *ev,
  413.         ODDraftKey key,
  414.         ODInfoType partInfo,
  415.         ODStorageUnitView* storageUnitView,
  416.         ODFrame* scopeFrame)
  417. {
  418.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  419.     ODPartMethodDebug("ODPart","ClonePartInfo");
  420.  
  421.     WARN("A subclass should have overridden this method!");
  422.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  423. }
  424.  
  425. //------------------------------------------------------------------------------
  426. // ODPart: Open
  427. //------------------------------------------------------------------------------
  428.  
  429. SOM_Scope ODID SOMLINK ODPartOpen(ODPart *somSelf, Environment *ev,
  430.         ODFrame* frame)
  431. {
  432.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  433.     ODPartMethodDebug("ODPart","Open");
  434.  
  435.     WARN("A subclass should have overridden this method!");
  436.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  437.     return 0;
  438. }
  439.  
  440. //------------------------------------------------------------------------------
  441. // ODPart: Draw
  442. //------------------------------------------------------------------------------
  443.  
  444. SOM_Scope void SOMLINK ODPartDraw(ODPart *somSelf, Environment *ev,
  445.         ODFacet* facet,
  446.         ODShape* invalidShape)
  447. {
  448.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  449.     ODPartMethodDebug("ODPart","Draw");
  450.  
  451.     WARN("A subclass should have overridden this method!");
  452.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  453. }
  454.  
  455. //------------------------------------------------------------------------------
  456. // ODPart: FacetAdded
  457. //------------------------------------------------------------------------------
  458.  
  459. SOM_Scope void SOMLINK ODPartFacetAdded(ODPart *somSelf, Environment *ev,
  460.         ODFacet* facet)
  461. {
  462.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  463.     ODPartMethodDebug("ODPart","FacetAdded");
  464.  
  465.     WARN("A subclass should have overridden this method!");
  466.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  467. }
  468.  
  469. //------------------------------------------------------------------------------
  470. // ODPart: FacetRemoved
  471. //------------------------------------------------------------------------------
  472.  
  473. SOM_Scope void SOMLINK ODPartFacetRemoved(ODPart *somSelf, Environment *ev,
  474.         ODFacet* facet)
  475. {
  476.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  477.     ODPartMethodDebug("ODPart","FacetRemoved");
  478.  
  479.     WARN("A subclass should have overridden this method!");
  480.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  481. }
  482.  
  483. //------------------------------------------------------------------------------
  484. // ODPart: GeometryChanged
  485. //------------------------------------------------------------------------------
  486.  
  487. SOM_Scope void SOMLINK ODPartGeometryChanged(ODPart *somSelf, Environment *ev,
  488.         ODFacet* facet, ODBoolean clipShapeChanged, ODBoolean externalTransformChanged)
  489. {
  490.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  491.     ODPartMethodDebug("ODPart","GeometryChanged");
  492.  
  493.     WARN("A subclass should have overridden this method!");
  494.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  495. }
  496.  
  497. //------------------------------------------------------------------------------
  498. // ODPart: HighlightChanged
  499. //------------------------------------------------------------------------------
  500.  
  501. SOM_Scope void SOMLINK ODPartHighlightChanged(ODPart *somSelf, Environment *ev,
  502.         ODFacet* facet)
  503. {
  504.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  505.     ODPartMethodDebug("ODPart","HighlightChanged");
  506.  
  507.     WARN("A subclass should have overridden this method!");
  508.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  509. }
  510.  
  511. //------------------------------------------------------------------------------
  512. // ODPart: CanvasChanged
  513. //------------------------------------------------------------------------------
  514.  
  515. SOM_Scope void SOMLINK ODPartCanvasChanged(ODPart *somSelf, Environment *ev,
  516.         ODFacet* facet)
  517. {
  518.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  519.     ODPartMethodDebug("ODPart","CanvasChanged");
  520.  
  521.     WARN("A subclass should have overridden this method!");
  522.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  523. }
  524.  
  525. //------------------------------------------------------------------------------
  526. // ODPart: CanvasUpdated
  527. //------------------------------------------------------------------------------
  528.  
  529. SOM_Scope void SOMLINK ODPartCanvasUpdated(ODPart *somSelf, Environment *ev,
  530.         ODCanvas* canvas)
  531. {
  532.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  533.     ODPartMethodDebug("ODPart","CanvasUpdated");
  534.  
  535.     WARN("A subclass should have overridden this method!");
  536.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  537. }
  538.  
  539. //------------------------------------------------------------------------------
  540. // ODPart: GetPrintResolution
  541. //------------------------------------------------------------------------------
  542.  
  543. SOM_Scope ODULong SOMLINK ODPartGetPrintResolution(ODPart *somSelf, Environment *ev,
  544.         ODFrame* frame)
  545. {
  546.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  547.     ODPartMethodDebug("ODPart","GetPrintResolution");
  548.  
  549.     WARN("A subclass should have overridden this method!");
  550.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  551.     return 0;
  552. }
  553.  
  554. //------------------------------------------------------------------------------
  555. // ODPart: BeginRelinquishFocus
  556. //------------------------------------------------------------------------------
  557.  
  558. SOM_Scope ODBoolean SOMLINK ODPartBeginRelinquishFocus(ODPart *somSelf, Environment *ev,
  559.         ODTypeToken focus,
  560.         ODFrame* ownerFrame,
  561.         ODFrame* proposedFrame)
  562. {
  563.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  564.     ODPartMethodDebug("ODPart","BeginRelinquishFocus");
  565.  
  566.     WARN("A subclass should have overridden this method!");
  567.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  568.     return kODFalse;
  569. }
  570.  
  571. //------------------------------------------------------------------------------
  572. // ODPart: CommitRelinquishFocus
  573. //------------------------------------------------------------------------------
  574.  
  575. SOM_Scope void SOMLINK ODPartCommitRelinquishFocus(ODPart *somSelf, Environment *ev,
  576.         ODTypeToken focus,
  577.         ODFrame* ownerFrame,
  578.         ODFrame* proposedFrame)
  579. {
  580.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  581.     ODPartMethodDebug("ODPart","CommitRelinquishFocus");
  582.  
  583.     WARN("A subclass should have overridden this method!");
  584.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  585. }
  586.  
  587. //------------------------------------------------------------------------------
  588. // ODPart: AbortRelinquishFocus
  589. //------------------------------------------------------------------------------
  590.  
  591. SOM_Scope void SOMLINK ODPartAbortRelinquishFocus(ODPart *somSelf, Environment *ev,
  592.         ODTypeToken focus,
  593.         ODFrame* ownerFrame,
  594.         ODFrame* proposedFrame)
  595. {
  596.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  597.     ODPartMethodDebug("ODPart","AbortRelinquishFocus");
  598.  
  599.     WARN("A subclass should have overridden this method!");
  600.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  601. }
  602.  
  603. //------------------------------------------------------------------------------
  604. // ODPart: FocusAcquired
  605. //------------------------------------------------------------------------------
  606.  
  607. SOM_Scope void SOMLINK ODPartFocusAcquired(ODPart *somSelf, Environment *ev,
  608.         ODTypeToken focus,
  609.         ODFrame* ownerFrame)
  610. {
  611.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  612.     ODPartMethodDebug("ODPart","FocusAcquired");
  613.  
  614.     WARN("A subclass should have overridden this method!");
  615.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  616. }
  617.  
  618.  
  619. //------------------------------------------------------------------------------
  620. // ODPart: FocusLost
  621. //------------------------------------------------------------------------------
  622.  
  623. SOM_Scope void SOMLINK ODPartFocusLost(ODPart *somSelf, Environment *ev,
  624.         ODTypeToken focus,
  625.         ODFrame* ownerFrame)
  626. {
  627.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  628.     ODPartMethodDebug("ODPart","FocusLost");
  629.  
  630.     WARN("A subclass should have overridden this method!");
  631.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  632. }
  633.  
  634.  
  635. //------------------------------------------------------------------------------
  636. // ODPart: ExternalizeKinds
  637. //------------------------------------------------------------------------------
  638.  
  639. SOM_Scope void SOMLINK ODPartExternalizeKinds(ODPart *somSelf, Environment *ev,
  640.         ODTypeList* kindset)
  641. {
  642.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  643.     ODPartMethodDebug("ODPart","ExternalizeKinds");
  644.  
  645.     WARN("A subclass should have overridden this method!");
  646.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  647. }
  648.  
  649.  
  650. //------------------------------------------------------------------------------
  651. // ODPart: ChangeKind
  652. //------------------------------------------------------------------------------
  653.  
  654. SOM_Scope void SOMLINK ODPartChangeKind(ODPart *somSelf, Environment *ev,
  655.         ODType kind)
  656. {
  657.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  658.     ODPartMethodDebug("ODPart","ChangeKind");
  659.  
  660.     WARN("A subclass should have overridden this method!");
  661.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  662. }
  663.  
  664. //------------------------------------------------------------------------------
  665. // ODPart: HandleEvent
  666. //------------------------------------------------------------------------------
  667.  
  668. SOM_Scope ODBoolean SOMLINK ODPartHandleEvent(ODPart *somSelf, Environment *ev,
  669.         ODEventData* event,
  670.         ODFrame* frame,
  671.         ODFacet* facet,
  672.         ODEventInfo* eventInfo)
  673. {
  674.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  675.     ODPartMethodDebug("ODPart","HandleEvent");
  676.  
  677.     WARN("A subclass should have overridden this method!");
  678.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  679.     return kODFalse;
  680. }
  681.  
  682. //------------------------------------------------------------------------------
  683. // ODPart: AdjustMenus
  684. //------------------------------------------------------------------------------
  685.  
  686. SOM_Scope void SOMLINK ODPartAdjustMenus(ODPart *somSelf, Environment *ev,
  687.         ODFrame* frame)
  688. {
  689.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  690.     ODPartMethodDebug("ODPart","AdjustMenus");
  691.  
  692.     WARN("A subclass should have overridden this method!");
  693.     ODSetSOMException(ev,kODErrSubClassResponsibility, "SubClass Responsibility");
  694. }
  695.  
  696. //------------------------------------------------------------------------------
  697. // ODPart: UndoAction
  698. //------------------------------------------------------------------------------
  699.  
  700. SOM_Scope void SOMLINK ODPartUndoAction(ODPart *somSelf, Environment *ev,
  701.         ODActionData* actionState)
  702. {
  703.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  704.     ODPartMethodDebug("ODPart","UndoAction");
  705.  
  706.     ODSetSOMException(ev, kODErrDoesNotUndo);
  707. }
  708.  
  709. //------------------------------------------------------------------------------
  710. // ODPart: RedoAction
  711. //------------------------------------------------------------------------------
  712.  
  713. SOM_Scope void SOMLINK ODPartRedoAction(ODPart *somSelf, Environment *ev,
  714.         ODActionData* actionState)
  715. {
  716.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  717.     ODPartMethodDebug("ODPart","RedoAction");
  718.  
  719.     ODSetSOMException(ev, kODErrDoesNotUndo);
  720. }
  721.  
  722. //------------------------------------------------------------------------------
  723. // ODPart: DisposeActionState
  724. //------------------------------------------------------------------------------
  725.  
  726. SOM_Scope void SOMLINK ODPartDisposeActionState(ODPart *somSelf, Environment *ev,
  727.         ODActionData* actionState,
  728.         ODDoneState doneState)
  729. {
  730.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  731.     ODPartMethodDebug("ODPart","DisposeActionState");
  732.  
  733.     ODSetSOMException(ev, kODErrDoesNotUndo);
  734. }
  735.  
  736. //------------------------------------------------------------------------------
  737. // ODPart: WriteActionState
  738. //------------------------------------------------------------------------------
  739.  
  740. SOM_Scope void SOMLINK ODPartWriteActionState(ODPart *somSelf, Environment *ev,
  741.         ODActionData* actionState,
  742.         ODStorageUnitView* storageUnitView)
  743. {
  744.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  745.     ODPartMethodDebug("ODPart","WriteActionState");
  746.  
  747.     ODSetSOMException(ev, kODErrDoesNotUndo);
  748. }
  749.  
  750. //------------------------------------------------------------------------------
  751. // ODPart: ReadActionState
  752. //------------------------------------------------------------------------------
  753.  
  754. SOM_Scope ODActionData SOMLINK ODPartReadActionState(ODPart *somSelf, Environment *ev,
  755.         ODStorageUnitView* storageUnitView)
  756. {
  757.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  758.     ODPartMethodDebug("ODPart","ReadActionState");
  759.  
  760.     ODSetSOMException(ev, kODErrDoesNotUndo);
  761.     ODActionData data = {0,0,kODNULL};
  762.     return data;
  763. }
  764.  
  765. //------------------------------------------------------------------------------
  766. // ODPart: FulfillPromise
  767. //------------------------------------------------------------------------------
  768.  
  769. SOM_Scope void  SOMLINK ODPartFulfillPromise(ODPart *somSelf, Environment *ev,
  770.         ODStorageUnitView* promiseSUView)
  771. {
  772.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  773.     ODPartMethodDebug("ODPart","FulfillPromise");
  774.  
  775.     ODSetSOMException(ev, kODErrNoPromises);
  776. }
  777.  
  778. //------------------------------------------------------------------------------
  779. // ODPart: DropCompleted
  780. //------------------------------------------------------------------------------
  781.  
  782. SOM_Scope void  SOMLINK ODPartDropCompleted(ODPart *somSelf, Environment *ev,
  783.         ODPart* destPart,
  784.         ODDropResult dropResult)
  785. {
  786.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  787.     ODPartMethodDebug("ODPart","DropCompleted");
  788.  
  789.     ODSetSOMException(ev, kODErrDoesNotDrop);
  790. }
  791.  
  792.  
  793. //------------------------------------------------------------------------------
  794. // ODPart: DragEnter
  795. //------------------------------------------------------------------------------
  796.  
  797. SOM_Scope ODDragResult  SOMLINK ODPartDragEnter(ODPart *somSelf, Environment *ev,
  798.         ODDragItemIterator* dragInfo,
  799.         ODFacet* facet,
  800.         ODPoint* where)
  801. {
  802.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  803.     ODPartMethodDebug("ODPart","DragEnter");
  804.  
  805.     ODSetSOMException(ev, kODErrDoesNotDrop);
  806.     return kODFalse;
  807. }
  808.  
  809.  
  810. //------------------------------------------------------------------------------
  811. // ODPart: DragWithin
  812. //------------------------------------------------------------------------------
  813.  
  814. SOM_Scope ODDragResult  SOMLINK ODPartDragWithin(ODPart *somSelf, Environment *ev,
  815.         ODDragItemIterator* dragInfo,
  816.         ODFacet* facet,
  817.         ODPoint* where)
  818. {
  819.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  820.     ODPartMethodDebug("ODPart","DragWithin");
  821.  
  822.     ODSetSOMException(ev, kODErrDoesNotDrop);
  823.     return kODFalse;
  824. }
  825.  
  826. //------------------------------------------------------------------------------
  827. // ODPart: DragLeave
  828. //------------------------------------------------------------------------------
  829.  
  830. SOM_Scope void SOMLINK ODPartDragLeave(ODPart *somSelf, Environment *ev,
  831.         ODFacet* facet,
  832.         ODPoint* where)
  833. {
  834.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  835.     ODPartMethodDebug("ODPart","DragLeave");
  836.  
  837.     ODSetSOMException(ev, kODErrDoesNotDrop);
  838. }
  839.  
  840. //------------------------------------------------------------------------------
  841. // ODPart: Drop
  842. //------------------------------------------------------------------------------
  843.  
  844. SOM_Scope ODDropResult SOMLINK ODPartDrop(ODPart *somSelf, Environment *ev,
  845.         ODDragItemIterator* dropInfo,
  846.         ODFacet* facet,
  847.         ODPoint* where)
  848. {
  849.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  850.     ODPartMethodDebug("ODPart","Drop");
  851.  
  852.     ODSetSOMException(ev, kODErrDoesNotDrop);
  853.     return kODDropFail;
  854. }
  855.  
  856. //------------------------------------------------------------------------------
  857. // ODPart: CreateLink
  858. //------------------------------------------------------------------------------
  859.  
  860. SOM_Scope ODLinkSource* SOMLINK ODPartCreateLink(ODPart *somSelf, Environment *ev,
  861.         ODByteArray* data)
  862. {
  863.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  864.     ODPartMethodDebug("ODPart","CreateLink");
  865.  
  866.     ODSetSOMException(ev, kODErrDoesNotLink);
  867.     return kODNULL;
  868. }
  869.  
  870. //------------------------------------------------------------------------------
  871. // ODPart: RevealLink
  872. //------------------------------------------------------------------------------
  873.  
  874. SOM_Scope void SOMLINK ODPartRevealLink(ODPart *somSelf, Environment *ev,
  875.         ODLinkSource* linkSource)
  876. {
  877.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  878.     ODPartMethodDebug("ODPart","RevealLink");
  879.  
  880.     ODSetSOMException(ev, kODErrDoesNotLink);
  881. }
  882.  
  883. //------------------------------------------------------------------------------
  884. // ODPart: LinkUpdated
  885. //------------------------------------------------------------------------------
  886.  
  887. SOM_Scope void SOMLINK ODPartLinkUpdated(ODPart *somSelf, Environment *ev,
  888.         ODLink* updatedLink,
  889.         ODUpdateID change)
  890. {
  891.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  892.     ODPartMethodDebug("ODPart","LinkUpdated");
  893.  
  894.     ODSetSOMException(ev, kODErrDoesNotLink);
  895. }
  896.  
  897. //------------------------------------------------------------------------------
  898. // ODPart: EmbeddedFrameUpdated
  899. //------------------------------------------------------------------------------
  900.  
  901. SOM_Scope void SOMLINK ODPartEmbeddedFrameUpdated(ODPart *somSelf, Environment *ev,
  902.         ODFrame* frame,
  903.         ODUpdateID change)
  904. {
  905.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  906.     ODPartMethodDebug("ODPart","EmbeddedFrameUpdated");
  907.  
  908.     // The default behavior for this method is to do nothing.  The reason
  909.     // is that a part which does not support linking may be embedded within
  910.     // a part which publishes a link source, and then itself embed a part which
  911.     // calls ODFrame::ContentUpdated.  This part will be notified that the
  912.     // EmbeddedFrameUpdated, and the correct thing to do is nothing.  Only
  913.     // parts which want to do something special in response to this notification
  914.     // need to override this method.
  915. }
  916.  
  917. //------------------------------------------------------------------------------
  918. // ODPart: EditInLinkAttempted
  919. //------------------------------------------------------------------------------
  920.  
  921. SOM_Scope ODBoolean SOMLINK ODPartEditInLinkAttempted(ODPart *somSelf, Environment *ev,
  922.         ODFrame* frame)
  923. {
  924.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  925.     ODPartMethodDebug("ODPart","EditInLinkAttempted");
  926.  
  927.     ODSetSOMException(ev, kODErrDoesNotLink);
  928.     return kODFalse;
  929. }
  930.  
  931. //------------------------------------------------------------------------------
  932. // ODPart: RequestEmbeddedFrame
  933. //------------------------------------------------------------------------------
  934.  
  935. SOM_Scope ODFrame* SOMLINK ODPartRequestEmbeddedFrame(ODPart *somSelf, Environment *ev,
  936.         ODFrame* containingFrame,
  937.         ODFrame* baseFrame,
  938.         ODShape* frameShape,
  939.         ODPart* embedPart,
  940.         ODTypeToken viewType,
  941.         ODTypeToken presentation,
  942.         ODBoolean isOverlaid)
  943. {
  944.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  945.     ODPartMethodDebug("ODPart","RequestEmbeddedFrame");
  946.  
  947.     ODSetSOMException(ev, kODErrCannotEmbed);
  948.     return kODNULL;
  949. }
  950.  
  951. //------------------------------------------------------------------------------
  952. // ODPart: RemoveEmbeddedFrame
  953. //------------------------------------------------------------------------------
  954.  
  955. SOM_Scope void SOMLINK ODPartRemoveEmbeddedFrame(ODPart *somSelf, Environment *ev,
  956.         ODFrame* embeddedFrame)
  957. {
  958.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  959.     ODPartMethodDebug("ODPart","RemoveEmbeddedFrame");
  960.  
  961.     ODSetSOMException(ev, kODErrCannotEmbed);
  962. }
  963.  
  964. //------------------------------------------------------------------------------
  965. // ODPart: RequestFrameShape
  966. //------------------------------------------------------------------------------
  967.  
  968. SOM_Scope ODShape* SOMLINK ODPartRequestFrameShape(ODPart *somSelf, Environment *ev,
  969.         ODFrame* embeddedFrame,
  970.         ODShape* frameShape)
  971. {
  972.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  973.     ODPartMethodDebug("ODPart","RequestFrameShape");
  974.  
  975.     ODSetSOMException(ev, kODErrCannotEmbed);
  976.     return kODNULL;
  977. }
  978.  
  979. //------------------------------------------------------------------------------
  980. // ODPart: UsedShapeChanged
  981. //------------------------------------------------------------------------------
  982.  
  983. SOM_Scope void SOMLINK ODPartUsedShapeChanged(ODPart *somSelf, Environment *ev,
  984.         ODFrame* embeddedFrame)
  985. {
  986.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  987.     ODPartMethodDebug("ODPart","UsedShapeChanged");
  988.  
  989.     ODSetSOMException(ev, kODErrCannotEmbed);
  990. }
  991.  
  992.  
  993. //------------------------------------------------------------------------------
  994. // ODPart: AdjustBorderShape
  995. //------------------------------------------------------------------------------
  996.  
  997. SOM_Scope ODShape* SOMLINK ODPartAdjustBorderShape(ODPart *somSelf, Environment *ev,
  998.         ODFacet* embeddedFacet,
  999.         ODShape* shape)
  1000. {
  1001.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1002.     ODPartMethodDebug("ODPart","AdjustBorderShape");
  1003.  
  1004.     ODSetSOMException(ev, kODErrCannotEmbed);
  1005.     return kODNULL;
  1006. }
  1007.  
  1008. //------------------------------------------------------------------------------
  1009. // ODPart: AcquireContainingPartProperties
  1010. //------------------------------------------------------------------------------
  1011.  
  1012. SOM_Scope ODStorageUnit* SOMLINK ODPartAcquireContainingPartProperties(ODPart *somSelf, Environment *ev,
  1013.         ODFrame* frame)
  1014. {
  1015.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1016.     ODPartMethodDebug("ODPart","AcquireContainingPartProperties");
  1017.  
  1018.     ODSetSOMException(ev, kODErrCannotEmbed);
  1019.     return kODNULL;
  1020. }
  1021.  
  1022. //------------------------------------------------------------------------------
  1023. // ODPart: RevealFrame
  1024. //------------------------------------------------------------------------------
  1025.  
  1026. SOM_Scope ODBoolean SOMLINK ODPartRevealFrame(ODPart *somSelf, Environment *ev,
  1027.         ODFrame* embeddedFrame,
  1028.         ODShape* revealShape)
  1029. {
  1030.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1031.     ODPartMethodDebug("ODPart","RevealFrame");
  1032.  
  1033.     ODSetSOMException(ev, kODErrCannotEmbed);
  1034.     return kODFalse;
  1035. }
  1036.  
  1037. //------------------------------------------------------------------------------
  1038. // ODPart: EmbeddedFrameSpec
  1039. //------------------------------------------------------------------------------
  1040.  
  1041. SOM_Scope void SOMLINK ODPartEmbeddedFrameSpec(ODPart *somSelf, Environment *ev,
  1042.         ODFrame* embeddedFrame,
  1043.         ODObjectSpec* spec)
  1044. {
  1045.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1046.     ODPartMethodDebug("ODPart","EmbeddedFrameSpec");
  1047.  
  1048.     ODSetSOMException(ev, kODErrCannotEmbed);
  1049. }
  1050.  
  1051.  
  1052. //------------------------------------------------------------------------------
  1053. // ODPart: CreateEmbeddedFramesIterator
  1054. //------------------------------------------------------------------------------
  1055.  
  1056. SOM_Scope ODEmbeddedFramesIterator* SOMLINK ODPartCreateEmbeddedFramesIterator(ODPart *somSelf, Environment *ev,
  1057.         ODFrame* frame)
  1058. {
  1059.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1060.     ODPartMethodDebug("ODPart","CreateEmbeddedFramesIterator");
  1061.  
  1062.     ODSetSOMException(ev, kODErrCannotEmbed);
  1063.     return kODNULL;
  1064. }
  1065.  
  1066. //------------------------------------------------------------------------------
  1067. // ODPart: IsRealPart
  1068. //------------------------------------------------------------------------------
  1069.  
  1070. SOM_Scope ODBoolean SOMLINK ODPartIsRealPart(ODPart *somSelf, Environment *ev)
  1071. {
  1072.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1073.     ODPartMethodDebug("ODPart","IsRealPart");
  1074.  
  1075.     // actuall implementation, no need to override
  1076.     return kODTrue;
  1077. }
  1078.  
  1079. //------------------------------------------------------------------------------
  1080. // ODPart: GetRealPart
  1081. //------------------------------------------------------------------------------
  1082.  
  1083. SOM_Scope ODPart* SOMLINK ODPartGetRealPart(ODPart *somSelf, Environment *ev)
  1084. {
  1085.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1086.     ODPartMethodDebug("ODPart","GetRealPart");
  1087.  
  1088.     // actuall implementation, no need to override
  1089.     ODSetSOMException(ev, kODErrPartNotWrapper);
  1090.     return kODNULL;
  1091. }
  1092.  
  1093. //------------------------------------------------------------------------------
  1094. // ODPart: ReleaseRealPart
  1095. //------------------------------------------------------------------------------
  1096.  
  1097. SOM_Scope void SOMLINK ODPartReleaseRealPart(ODPart *somSelf, Environment *ev)
  1098. {
  1099.     /* ODPartData *somThis = ODPartGetData(somSelf); */
  1100.     ODPartMethodDebug("ODPart","ReleaseRealPart");
  1101.  
  1102.     // actuall implementation, no need to override
  1103.     ODSetSOMException(ev, kODErrPartNotWrapper);
  1104. }
  1105.  
  1106. //------------------------------------------------------------------------------
  1107. // InitPartName
  1108. //------------------------------------------------------------------------------
  1109.  
  1110. void InitPartName(Environment* ev, ODStorageUnit* su)
  1111. {
  1112.     if ( su->Exists(ev, kODPropName, kODNULL, 0) == kODFalse )
  1113.     {
  1114.         TempODIText itext = CreateIText(0);
  1115.         ODSetITextProp(ev, su, kODPropName, kODMacIText, itext);
  1116.     }
  1117. }